Method and apparatus for determining a valid touch event on a touch sensitive device

ABSTRACT

Certain aspects of the present disclosure relate to a technique for determining a valid touch event on a touch sensitive device. At least two touch events are received from a touch interface. The at least two touch events are combined if a time difference between each of the at least two touch events is less than a time threshold and a proximity between each of the at least two touch events is less than a proximity threshold. A valid touch event is determined if a combined pressure indicator of a combined touch event is greater than a pressure threshold.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application claims the benefit of and is a continuation of U.S.application Ser. No. 12/958,092, filed on Dec. 1, 2010, now issued U.S.Pat. No. 9,619,056, issued on Apr. 11, 2017, which claims the benefit ofprior filed U.S. Provisional Application Ser. No. 61/317,812, filed onMar. 26, 2010, incorporated herein by reference and is related tocommonly assigned U.S. Provisional Application Ser. No. 61/317,800,filed on Mar. 26, 2010, and U.S. Provisional Application Ser. No.61/317,741, filed on Mar. 26, 2010 and U.S. application Ser. No.12/753,163 filed on Apr. 2, 2010 and U.S. Ser. No. 12/753,167 filed onApr. 2, 2010 and U.S. Ser. No. 12/753,171 filed on Apr. 2, 2010 and U.S.Ser. No. 12/753,180 filed on Apr. 2, 2010 and U.S. ProvisionalApplication Ser. No. 61/317,744 filed on Mar. 26, 2010 and U.S.application Ser. No. 12/770,944 filed on Apr. 30, 2010 and U.S.application Ser. No. 12/770,965 filed on Apr. 30, 2010 and U.S. Ser. No.12/770,974 filed on Apr. 30, 2010 and U.S. Provisional Ser. No.61/317,827 filed on Mar. 26, 2010 and U.S. Provisional Application Ser.No. 61/317,793, filed on Mar. 26, 2010, and U.S. Provisional ApplicationSer. No. 61/352,892, filed on Jun. 9, 2010, and U.S. ProvisionalApplication Ser. No. 61/359,043, filed on Jun. 28, 2010, and U.S.Provisional Application Ser. No. 61/359,057, filed on Jun. 28, 2010,each of which is incorporated herein by reference.

FIELD OF THE INVENTION

The present disclosure relates generally to touch sensitive devices and,more specifically, to a method, apparatus and computer-readable mediumfor determining a valid touch event on a touch sensitive device.

BACKGROUND OF THE INVENTION

The present invention relates generally to a system, method and computerreadable medium of detecting and correctly interpreting repeated touchesof one or more users of a touch sensitive screen.

Touch input systems have become ubiquitous throughout industrializedcountries. These systems have replaced or supplemented conventionalinput systems, such as keyboard or mouse in many applications, includingfor example, information kiosks, retail point of sale, order input(e.g., restaurants), and industrial line operations. Various sensingtechnologies are applied in touch input systems currently inmarketplace, including acoustic, resistive, capacitive and infrared. Atouch input system is typically used in conjunction with some type ofinformation display system that may include a computer. When a usertouches a displayed object, the touch input system communicates thelocation of the touch to the system.

Usually one, two or more sensors are used to simultaneously detectsignals originated from a touch event. Analysis of such signals allowsidentifying location and the relative strength of the contact. Forexample, U.S. Pat. No. 6,922,642 “Contact sensitive device” by D. M.Sullivan describes a contact sensitive device which uses bending wavevibration for extracting information relating to the contact fromsimultaneous measurements of two or more sensors.

Correctly detecting the false or true touch and location of the touch isvery important. Unfortunately this may not be always achieved withdesired level of reliability. Various approaches are available in priorart. For example, U.S. Pat. No. 6,492,279 “Dual sensor touch screenutilizing projective-capacitive and force touch sensors” by Joel Kent etal, describes a method and apparatus for discriminating against falsetouches in a touch screen system, where the system is designed toconfirm a touch registered by one touch sensor with another touchsensor, preferably of a different sensor type, prior to acting upon thetouch. Another approach is described in U.S. Pat. No. 5,543,589“Touchpad with dual sensor that simplifies scanning” by William A.Buchana et al. This patent discloses a dual sensor touch screen in whicheach sensor determines touch and its position, but with a differentresolution. While such systems increases touch detection reliabilitythey also increase the cost of the system.

Alternative approaches in prior art systems rely on a single sensordetection where touch pressure is measured and decision is made onwhether to act upon a touch or not depending on the measured value. Forexample, U.S. Pat. No. 5,510,813 “Data processing device comprising atouch screen and a force sensor” by Kofi A. A. Makinwa et al describes asystem where the force of the touch is determined. In response to atouch, the system processes the detected force of the touch according tothe needs of the application. Some applications available in the marketplace today rely on such single touch force measurement, and if thetouch force/pressure is below certain value, the touch event isdiscarded. This often leads to unsatisfactory customer experience.Therefore a method and apparatus are needed to improve touch detectionwhile keeping the cost low.

SUMMARY OF THE INVENTION

Certain aspects of the present disclosure provide a method fordetermining a valid touch event on a touch sensitive device. The methodgenerally includes receiving at least two touch events from a touchinterface, combining the at least two touch events if a time differencebetween each of the at least two touch events is less than a timethreshold and a proximity between each of the at least two touch eventsis less than a proximity threshold and determining a valid touch eventif a combined pressure indicator of a combined touch event is greaterthan a pressure threshold.

Certain aspects of the present disclosure provide an apparatus fordetermining a valid touch event on a touch sensitive device. Theapparatus generally includes at least one processor configured toreceive at least two touch events from a touch interface, combine the atleast two touch events if a time difference between each of the at leasttwo touch events is less than a time threshold and a proximity betweeneach of the at least two touch events is less than a proximity thresholdand determine a valid touch event if a combined pressure indicator of acombined touch event is greater than a pressure threshold; and a memorycoupled to the at least one processor.

Certain aspects of the present disclosure provide a computer-programproduct for determining a valid touch event on a touch sensitive device,the computer-program product generally including a computer-readablemedium comprising instructions for receiving at least two touch eventsfrom a touch interface, combining the at least two touch events if atime difference between each of the at least two touch events is lessthan a time threshold and a proximity between each of the at least twotouch events is less than a proximity threshold and determining a validtouch event if a combined pressure indicator of a combined touch eventis greater than a pressure threshold.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a block diagram conceptually illustrating an example of aconventional touch sensor system.

FIG. 2 is a block diagram conceptually illustrating an example of aconventional acoustic wave touch input system.

FIG. 3 illustrates consequent touch events caused by, for example,moving a finger on a touch sensitive surface.

FIG. 4 illustrates example operations that may be performed by acontroller for comparing touch pressure measurements to a pre-definedthreshold.

FIG. 5 is a block diagram conceptually illustrating an example of touchsensor system capable of combining ambiguous repetitive touch events inaccordance with certain aspects of the present disclosure.

FIG. 6 is a block diagram conceptually illustrating an example of anacoustic wave touch input system in accordance with certain aspects ofthe present disclosure.

FIG. 7 illustrates example operations that may be performed by acontroller for combining data for two ambiguous touch events inaccordance with certain aspects of the present disclosure.

FIG. 8 illustrates example operations that may be performed by acontroller for combining data for two ambiguous touch events inaccordance with certain aspects of the present disclosure.

FIG. 9 illustrates an extension of the method of combining data for twotouch events to combining data two sequences of touch events inaccordance with certain aspects of the present disclosure.

The foregoing summary, as well as the following detailed description ofcertain embodiments of the present invention, will be better understoodwhen read in conjunction with the appended drawings. The figuresillustrate diagrams of the functional blocks of various embodiments. Thefunctional blocks are not necessarily indicative of the division betweenhardware circuitry. Thus, for example, one or more of the functionalblocks (e.g., processors or memories) may be implemented in a singlepiece of hardware (e.g., a general purpose signal processor or a blockor random access memory, hard disk, or the like). Similarly, theprograms may be stand alone programs, may be incorporated as subroutinesin an operating system, may be functions in an installed imagingsoftware package, and the like. It should be understood that the variousembodiments are not limited to the arrangements and instrumentalityshown in the drawings.

DETAILED DESCRIPTION

FIG. 1 is a block diagram conceptually illustrating an example of aconventional touch sensor system 100. A touch sensor system generallyincludes one or more touch-screen devices. For example, the touch sensorsystem 100 includes two (identical in this example) touch-screen devices110/110 a communicatively coupled to their respective controllers190/190 a through the corresponding links 140/140 a. In this example,controllers 190 and 190 a as well as links 140 and 140 a are assumed tobe identical, but this is not necessary. Link 140 (and 140 a) representsone or more physical links such as wire-line (e.g., Ethernet cable,twisted pair, etc.), wireless (WiFi, 3G, 4G, Bluetooth, etc.), or anyother type of connection that may carry one or more communicationchannels. As will be illustrated later (see FIG. 2), in one aspect, link140 may correspond to one or more communication channels carrying twooutgoing and two incoming signals. The touch-screen device 110,communicatively coupled to a controller 190 through link 140, mayinclude a transparent touch sensor layer 130 covered by a touch-screen120 made out of transparent material such as glass. In certain aspects,a touch-screen device 110 and controller 190 may be enclosed into asingle device. User interface unit 160 may be coupled with thecontroller 190 via direct link, internet web 150, wireless, or anotherconnection. In certain aspects, a touch sensor system may only have onetouch-screen device. In certain aspects, controller 190 and controllerinterface unit 160 may be built in to the touch-screen device 110.Separate units 110, 110 a, 190, 190 a, and 160 are shown purely forillustrative purposes.

There are a number of touch screen technologies including resistive,surface acoustic wave, capacitive, projected capacitance, infrared,strain gauge, optical imaging, dispersive signal technology, andacoustic pulse recognition. Each technology has its own advantages anddisadvantages. For example, in resistive technology, the touch screenpanel is composed of several layers, the most important of which are twothin, metallic, electrically conductive layers separated by a narrowgap.

FIG. 2 illustrates a touch input system and touch detection operationusing as an example an acoustic wave touch input system. Acoustic wavetechnology uses ultrasonic waves that pass over the touch screen panel.When the panel is touched, a portion of the wave is absorbed. Thischange in the ultrasonic waves registers the position of the touch eventand sends this information to the controller for processing. It shouldbe noted that choice of acoustic wave technology does not limit presentinvention to acoustic wave technology only; it is used for illustrativepurposes only

FIG. 2 is a block diagram conceptually illustrating an example of aconventional acoustic wave touch input system 200. In FIG. 2 atransparent sensor layer 210 having a surface 209 covers a screen of adisplay system. The wave energy is directed along one or more paths thatform an invisible grid overlaying the surface 209 wherein a touch to thesurface 209 causes wave energy to be attenuated. Four transducers, twosending (201 and 204) and two receiving (202 and 203), are shown in FIG.2. A transducer is a device that converts acoustic wave energy toelectrical signal for measurement and information transfer purposes(i.e., enables pressure sensor). All four transducers 201, 202, 203 and204 may be, for example, piezoelectric transducers and are located inthe corners of the sensor layer 210. It should be noted that the choiceof transducer type includes but is not limited to piezoelectric (as inthe example above), electromagnetic, electrochemical, electromechanical,electro-acoustic, photoelectric, electrostatic, thermoelectric,radio-acoustic.

The touch sensor system 200 may be configured to respond to a touch onthe touch-screen 210 by causing acoustic waves to be transmitted acrossthe touch-screen 209, one or more of which are modulated in the presenceof the touch. The controller 290 in turn may use the modulated signalfrom the waves to identify the location of the touch on the touch-screen209. Basic operation of the touch sensor system 200 in FIG. 2 is asfollows. The controller 290 may begin the scan process to continuouslymonitor the touch screen 210 for touch events. For example, thecontroller 290 may send a signal to the first sending transducer 201 vialine 221. The sending transducer 201 may send acoustic waves in thehorizontal direction. Acoustic waves may be partially reflected byreflector arrays 211 and 213, and then are received by the receivingtransducer 203. The receiving transducer 203 may send a returning signalvia line 223 to the controller 290. The controller 290 may then send asignal to the second sending transducer 204 via line 224. The sendingtransducer 204 may send acoustic waves in the vertical direction.Acoustic waves may be partially reflected by reflector arrays 214 and212, and then may be received by the receiving transducer 202. Thesecond receiving transducer 202 may send a second returning signal vialine 222 to the controller 290. The returning signal may include timingand signal amplitude information representative of touch events, ifpresent. Therefore, controller 290 may constantly send and receivesignals in both the horizontal and vertical directions in order todetect the coordinates of one or more touch events. The time between therepetitive propagation of waves is the sampling rate or time. Ameasurement period may be determined as the time period to send andreceive the first and second sets of signals.

The controller 290 may also use the modulated signal to distinguishbetween valid touches and invalid signals (e.g., signals generated bycontamination on the surface of the screen). If the controller 290identifies a touch as valid, it may transmit the touch's location to ahost computer (not shown) which then may implement a correspondingcomputer function to display the pertinent information, e.g., graphics,on the display device 210. Graphics or other information such as newwidows, menu, text files, etc. may be displayed on the display device210 in response to an operator's command, e.g. touching a particulararea of the touch-screen 209.

The controller 290 may send signals to the sending transducers 201 and204 through communication channels 221 and 204 that may be implementedin one or two links schematically shown in FIG. 1 as part of link 140,respectively, and the transducers 201 and 224 may generate acousticenergy that may be sent across the sensor layer 210 and reflected by thereflector arrays. The controller 290 may accept signals from thereceiving transducers 202 and 203 through communication channels 222 and223 that may be implemented in one or two links schematically shown inFIG. 1 as part of link 140, respectively, and the received signalsinclude timing and signal.

The controller 290 may include coded instructions (stored, for example,in a memory of a microprocessor), which when executed by a machine orprocessor, may perform steps to control and process the relevant (sentand received) signals. The controller 290 may not comprise a computer,but may be implemented in hardware, firmware, software or anycombination thereof. The controller may include coded instructions tocalculate the time the wave takes to travel from the sending transducers201 and 204 to the receiving transducers 202 and 203 via the reflectorarrays 211, 213, 214 and 212. The time taken is typically dependent onthe path length, and therefore the position of an attenuation within thewave may be correlated to the time at which it was received relative tothe time it was launched. Waves may be periodically and/or repetitivelypropagated in both the horizontal and vertical directions of the sensorlayer 210 in order to allow the detection of coordinates of a touchevent location 230.

When user of the system touches sensor layer 210 at any point of thesurface, during a relative time of the touch event, touch location andpressure value are detected by the controller. In many systems, touchevents with low touch pressure are generally ignored. The decision maybe made by the controller and may generally depend on the minimumpressure threshold value stored in the controller as a fixed orconfigurable parameter. In some applications with touch sensitive screeninterface, multiple detected touches may be interpreted as certaincommands. For example, if the controller detects several touches withcoordinates <(X₁,Y₁), (X₂,Y₂), . . . (X_(k),Y_(k))> forming a straightline, estimated touch pressure P at time T, and if time T₁ is less thantime T_(k) (threshold), then the system will interpret the touchsequence as a command to move visual content in the direction of avector pointing from (X₁,Y₁) to (X_(k),Y_(k)).

For example, FIG. 3 illustrates consequent touch events caused by, forexample, moving a finger on a touch sensitive surface. FIG. 3illustrates four touch points (X₁,Y₁,P₁,T₁) 331, (X₂,Y₂,P₂,T₂) 332,(X₃,Y₃,P₃,T₃) 333, (X₄,Y₄,P₄,T₄) 334 detected by controller inrelatively short time intervals. Interpretation of such touch commandsequence is typically to move visual objects shown on the screen 310 inthe direction of vector 320 pointing from location (X₁,Y₁) to (X₄,Y₄). Atypical example of such application is a map of city streets or anyother geographical application such as cell operator coverage area map,or the like. As mentioned in earlier paragraphs, often, in prior artsystems, just as for a single touch command, each touch event of thesequence is considered valid only if the detected pressure exceedscertain threshold value.

Disadvantage of such conventional touch input systems is that a user mayhave to experiment with the touch pressures before his commands areproperly recognized by the system. If the system is used primarily byone or a few users, this is not be perceived as a big disadvantage.However, when many people are using an application such as map viewerwith touch input system, the experience could easily become frustratingfor those users that do not apply a proper or sufficient pressure.Consider, for example, an application exhibiting wireless serviceoperator coverage map in a cell phone store. Different customers cancome in to the store, enter their desired address and view how coveragechanges as they try to change location of the map around the specifiedaddress. Each customer typically has a unique touch and therefore systemmay easily disregard light touches that do not exceed certain pressurethreshold.

Lowering threshold below certain value may not be desirable either. Inthat case the system could become very sensitive to any touch, and inthe eyes of some customers “unpredictable” because any easy and oftenunintended touch would trigger a command thus resulting inunsatisfactory experience. It is clear, therefore, that a method andapparatus is needed for allowing touch input systems to avoid suchundesired behavior. Present invention solves this problem as will becomeapparent from the description and drawings set force below.

FIG. 4 illustrates example operations 400 that may be performed by acontroller for comparing touch pressure measurements to a pre-definedthreshold. At 402, pressure measurements for a specific time period arereceived by the controller from the touch sensitive surface (or device).At 404, the received measurements are listed as (X₁,Y₁,P₁,T₁),(X₂,Y₂,P₂,T₂) . . . (X_(k),Y_(k),P_(k),T_(k)) according to the estimatedpressure values so that P1<P2< . . . <P_(k). At 406, a variable i is setto 1. At 408, if P_(i) is not less than P_(threshold), operations 400branch out to 410 wherein the variable i is incremented by 1. At 408, ifP_(i) is less than P_(threshold), operations 400 branch out to 412,where all touch detections with indices starting from “i” to “k” areaccepted.

The idea of the invention is to store information captured by thecontroller. In the event when estimated touch pressure is below thethreshold, the captured data may be stored in a temporary buffer locatedon the controller (see FIG. 5 below). If the next touch events occur inthe same proximity as the previous ones, then the system may combineestimated touch pressure of newly received data with the stored data andcompare with the pressure threshold value again. If the combined valueexceeds the threshold value, touch event would be deemed as valid andthe corresponding command may be sent to the application, and the storeddata may be discarded. If not, the combined data may be stored again,and the process may be repeated up to a predetermined or specifiednumber of times.

FIG. 5 is a block diagram conceptually illustrating an example of touchsensor system 500 capable of combining ambiguous repetitive touch eventsin accordance with certain aspects of the present disclosure. An“ambiguous” touch event may be defined as a touch event that may not beclearly identified as a touch command. An example in the context of thisdiscussion would be a touch event with measured touch pressure beingbelow a predefined threshold value.

The touch sensor system 500 generally comprises one or more touch-screendevices. A touch sensor system with multiple touch-screen devices isillustrated in FIG. 5 with two (identical by example only) touch-screendevices 550 and 550 a. The touch-screen device 550, communicativelycoupled to a controller 590 through link 540, comprises a transparenttouch sensor layer 530 covered by a touch-screen 520 made out oftransparent material such as glass. The controller 590 further comprisesat least one buffer 591 and at least one microprocessor 592. In presentinvention the buffer 591 may temporarily store detected touch coordinateinformation, estimated touch pressure (pressure indicator), timestamp oftouch event and/or other signals representative of detected touchevents. The microprocessor 592 may combine signals of repetitivedetected touches as discussed below, wherein at least one set of signalsis stored in the buffer 591. It should be noted that the buffer 591 andthe microprocessor 592 may be combined with the existing buffer(s) andmicroprocessor(s) of controllers used in prior art systems.

A touch-screen system comprising the touch-screen device 550 andcontroller 590 may be used in conjunction with a controller userinterface unit 560 coupled with the controller 590 via direct link,internet web 550, wireless, or another connection. In an aspect, a touchsensor system may only have one touch-screen device. In an aspect,controller 590 and controller interface units may be built in to thetouch-screen device 550. Separate units 550, 550 a, 590, 590 a, and 560are shown purely for illustrative purposes.

The microprocessor 590 may output the combined information of detectedtouch events to another device such as a central or host computer 560via lead 545. It should be understood that the coordinate informationpassed through the lead 545 is representative only. In addition,information may be output in many forms and formats by the computer 560,such as text or graphics on the display device 550, a different displaydevice or monitor, a light, a bell, an initiation or termination of anaction, and the like. Therefore, the information passed through the lead545 may change based on the purpose of the touch sensor system 500.Optionally, the controller 590 may be located within a monitor or thedisplay device 550, in a separate unit as illustrated, or within thecomputer 560.

FIG. 6 is a block diagram conceptually illustrating an example of anacoustic wave touch input system 600 in accordance with certain aspectsof the present disclosure. Although surface acoustic waves (SAW) areillustrated, it may be appreciated that other sensing technologies mayalso be used, including, but not limited to, acoustic wave, resistive,capacitive, projected capacitance, infrared, strain gauge, opticalimaging, dispersive signal technology, and acoustic pulse recognition.

Method of sending and receiving signals by the controller 690 in system600 is similar to that of the system 200 illustrated in FIG. 2 anddescribed earlier. The main difference is in treatment of touch eventswith touch pressure below pre-defined threshold value. In thisembodiment the method is implemented in the controller 690 and isdescribed below. For the purpose of illustration in this embodiment inFIG. 6 a single touch command input is assumed to be repeated twice. Inboth cases, touch pressure measurement is below the pre-definedthreshold value. First signals received by the controller 690 correspondto the touch event 630 and include at least coordinates (X₀, Y₀), touchpressure P₀ and time T₀. Due to the touch pressure measurement beingbelow the pre-defined threshold value P_(threshold), S₀=(X₀, Y₀, P₀, T₀)is stored in the buffer 691. Once the second touch event 631 signals arereceived by the controller 690 and S₁=(X₁, Y₁, P₁, T₁) are available, P₁is compared with the pre-defined threshold value P_(threshold), and ifP1 is less than P_(threshold) then data S₀ and S₁ for both touch eventsare processed by the microprocessor 692 for possible combining into asignal touch event.

FIG. 7 illustrates example operations 700 that may be performed by acontroller for combining data for two ambiguous touch events inaccordance with certain aspects of the present disclosure. Operations700 relate to an example of a method of combining data S₀ and S₁ of twoambiguous touch events. Operations 700 begin at 702 where the twoambiguous touch events S₀ and S₁ are received. Note that in this exampleboth touch events may not be clearly identified as touch commands(detected touch pressure was below minimum allowed value). Instead ofdiscarding the data, the operations 700 try to combine it in a way thatwould allow the system to detect multiple attempts of a user to executea single touch command.

As is shown is FIG. 7, at 704, the system first checks if both detectedtouch events occurred within certain time interval. If the difference oftimestamps of the two events exceed a pre-defined T_(max) value, thentwo events are assumed not related, i.e. they do not representrepetitive attempts to execute a single touch command. Therefore, at706, the system discards the earlier touch event data S₀, and saves thelater touch event data in place of S₀ in the same buffer space.

At 704, If the timestamp difference is sufficiently small, then thesystem checks how close were touch events on the surface. In presentembodiment closeness of touch locations is calculated at 708 as a simpleEuclidian norm of points in two dimensional space:R=SQRT((X₀−X₁)²+(Y₀−Y₁)²). If two locations are not sufficiently close,i.e. if R>Rmax for some pre-defined maximum distance Rmax, data sets cannot be combined. In that case, at 712, the system stores both data setsin the buffer 691 for possible combining with future ambiguous touchevent data. If, on the other hand R is sufficiently small, then datasets S0 and S1 are combined at 714 to form a single touch event signalsS=(X, Y, P, T), where X and Y are mean values for (X,Y) coordinates ofthe two touch events, P is the sum of measured pressure values of thetwo touch events, and T is the timestamp of the newest touch event. Forexample, in FIG. 6 the two touch events 630 and 631 are shown by twooverlapping circles illustrating that they are sufficiently close.

Once S is calculated by the processor 692, P is compared with thepre-defined threshold value at 716 to determine if the two combined datasets represent a repetitive attempt to execute a single touch command.If P is less than the pre-defined threshold, then, at 718, the newlycombined data S is stored by the system in the buffer 691 for possiblefuture combining with a new ambiguous touch event data. On the otherhand, if P is greater than the threshold pressure, S is determined asvalid/unambiguous single touch command at 720 and is passed to theapplication for further action.

It should be noted that operations 700 are not limited to combing onlytwo touch event data sets. The above presented example of combining twotouch event data can be easily extended to combining three and moretouch events that occurred within specified time frame. Generalizationof the above described method is immediate and should be understood byanyone skilled in the art.

FIG. 8 illustrates example operations 800 that may be performed by acontroller for combining data for two ambiguous touch events inaccordance with certain aspects of the present disclosure. At 802, atleast two touch events are received from a touch interface. At 804, theat least two touch events are combined if a time difference between eachof the at least two touch events is less than a time threshold and aproximity between each of the at least two touch events is less than aproximity threshold. At 806, a valid touch event is determined if acombined pressure indicator of a combined touch event is greater than apressure threshold.

FIG. 9 illustrates an extension of the method of combining data for twotouch events to combining data two sequences of touch events inaccordance with certain aspects of the present disclosure. FIG. 9illustrates a method for combining data for repetitive touch eventscorresponding to user moving his finger on the surface of a touchsensitive device such as a touch screen. The system detects a firstsequence of touch events 931, 932, 933, 934 along the vector 930.Assuming that the pressure of a defined number of touch events in thefirst sequence is less than a pressure threshold these touch events maybe deemed ambiguous. Assuming that the proximity of the (X,Y)coordinates of these touch events is greater than a threshold proximity,the touch events may not be combined, and assuming that the touch eventsform a straight line, the system stores all four data sets S_(k)=(X_(k),Y_(k), P_(k), T_(k)) with k=931, 932, 933, 934 in the buffer forpossible combining with future data. In an aspect, the pressure of adefined number of touch events in the first sequence of touch events isbelow a pressure threshold.

A similar second sequence of touch events 941, 942, 943, 944 is receivedand the system analyses the second sequence. Assuming that the apredefined number of touch events in the second sequence are below thepressure threshold, the system concludes that the second sequence isalso ambiguous and the touch events in the second sequence may not becombined due to the location/proximity of (X,Y) coordinates of detectedtouch events as with the first sequence discussed above. Assuming thatthese touch events/data points also form a straight line, the system maytry to combine these data sets S_(r)=(X_(r), Y_(r), P_(r), T_(r)) withr=941, 942, 943, 944 with the stored data sets. In an aspect, if T₉₃₄(the last detected touch of the first series) is sufficiently close toT₉₄₁ (the first detected touch of the second series), then the systemwill try to combine set S_(k) and S_(r).

Combining set of data Sr and Sk is done as described above for singletouch command and for the purpose of illustrating of this embodiment itis assumed that only three valid combining combinations are possible.These possibilities are illustrated as overlapping circles correspondingto touch events 932 and 942, 933 and 943, 934 and 944 shown in FIG. 9.Anyone will appreciate that extension of this example to combining morethan two such sets is immediate.

Those of skill in the art would understand that information and signalsmay be represented using any of a variety of different technologies andtechniques. For example, data, instructions, commands, information,signals, bits, symbols, and chips that may be referenced throughout theabove description may be represented by voltages, currents,electromagnetic waves, magnetic fields or particles, optical fields orparticles, or any combination thereof.

Those of skill would further appreciate that the various illustrativelogical blocks, modules, circuits, and algorithm steps described inconnection with the disclosure herein may be implemented as electronichardware, computer software, or combinations of both. To clearlyillustrate this interchangeability of hardware and software, variousillustrative components, blocks, modules, circuits, and steps have beendescribed above generally in terms of their functionality. Whether suchfunctionality is implemented as hardware or software depends upon theparticular application and design constraints imposed on the overallsystem. Skilled artisans may implement the described functionality invarying ways for each particular application, but such implementationdecisions should not be interpreted as causing a departure from thescope of the present disclosure.

The various illustrative logical blocks, modules, and circuits describedin connection with the disclosure herein may be implemented or performedwith a general-purpose processor, a digital signal processor (DSP), anapplication specific integrated circuit (ASIC), a field programmablegate array (FPGA) or other programmable logic device, discrete gate ortransistor logic, discrete hardware components, or any combinationthereof designed to perform the functions described herein. Ageneral-purpose processor may be a microprocessor, but in thealternative, the processor may be any conventional processor,controller, microcontroller, or state machine. A processor may also beimplemented as a combination of computing devices, e.g., a combinationof a DSP and a microprocessor, a plurality of microprocessors, one ormore microprocessors in conjunction with a DSP core, or any other suchconfiguration.

The steps of a method or algorithm described in connection with thedisclosure herein may be embodied directly in hardware, in a softwaremodule executed by a processor, or in a combination of the two. Asoftware module may reside in RAM memory, flash memory, ROM memory,EPROM memory, EEPROM memory, registers, hard disk, a removable disk, aCD-ROM, or any other form of storage medium known in the art. Anexemplary storage medium is coupled to the processor such that theprocessor can read information from, and write information to, thestorage medium. In the alternative, the storage medium may be integralto the processor. The processor and the storage medium may reside in anASIC. The ASIC may reside in a user terminal. In the alternative, theprocessor and the storage medium may reside as discrete components in auser terminal.

In one or more exemplary designs, the functions described may beimplemented in hardware, software, firmware, or any combination thereof.If implemented in software, the functions may be stored on ortransmitted over as one or more instructions or code on acomputer-readable medium. Computer-readable media includes both computerstorage media and communication media including any medium thatfacilitates transfer of a computer program from one place to another. Astorage media may be any available media that can be accessed by ageneral purpose or special purpose computer. By way of example, and notlimitation, such computer-readable media can comprise RAM, ROM, EEPROM,CD-ROM or other optical disk storage, magnetic disk storage or othermagnetic storage devices, or any other medium that can be used to carryor store desired program code means in the form of instructions or datastructures and that can be accessed by a general-purpose orspecial-purpose computer, or a general-purpose or special-purposeprocessor. Also, any connection is properly termed a computer-readablemedium. For example, if the software is transmitted from a website,server, or other remote source using a coaxial cable, fiber optic cable,twisted pair, digital subscriber line (DSL), or wireless technologiessuch as infrared, radio, and microwave, then the coaxial cable, fiberoptic cable, twisted pair, DSL, or wireless technologies such asinfrared, radio, and microwave are included in the definition of medium.Disk and disc, as used herein, includes compact disc (CD), laser disc,optical disc, digital versatile disc (DVD), floppy disk and blu-ray discwhere disks usually reproduce data magnetically, while discs reproducedata optically with lasers. Combinations of the above should also beincluded within the scope of computer-readable media.

The previous description of the disclosure is provided to enable anyperson skilled in the art to make or use the disclosure. Variousmodifications to the disclosure will be readily apparent to thoseskilled in the art, and the generic principles defined herein may beapplied to other variations without departing from the spirit or scopeof the disclosure. Thus, the disclosure is not intended to be limited tothe examples and designs described herein, but is to be accorded thewidest scope consistent with the principles and novel features disclosedherein.

What is claimed is:
 1. A method, comprising: comparing an individualpressure of a current touch event received on a touch interface to athreshold pressure; when the individual pressure of the current touchevent is less than the threshold pressure, proceeding to a next touchevent as the current touch event if any remain; and when the individualpressure of the current touch event is greater than the thresholdpressure, accepting all remaining touch events starting with the currenttouch event as part of a combined touch event.
 2. The method of claim 1,wherein each of the touch events comprises a position indicator, apressure indicator and a time stamp.
 3. The method of claim 2, whereinthe pressure indicator of all of the touch events is below the pressurethreshold.
 4. The method of claim 2, further comprising storing theposition indicator, the pressure indicator and the time stamp of each ofthe touch events when the pressure indicator of the touch event is belowthe pressure threshold.
 5. The method of claim 2, further comprisingcalculating the time difference between each of the touch events basedon the time stamp of the touch events.
 6. The method of claim 2, furthercomprising calculating the proximity between each of the touch eventsbased on the position indicator of the touch events.
 7. The method ofclaim 2, wherein a combined pressure indicator of the combined touchevent comprises a sum of the pressure indicators of each touch event ofthe combined touch event.
 8. The method of claim 2, wherein a time stampof the combined touch event comprises the time stamp of a latest touchevent.
 9. The method of claim 1, comprising receiving a plurality oftouch events from the touch interface.
 10. An apparatus for determininga valid touch event on a touch sensitive device, the apparatuscomprising: at least one processor configured to: compare an individualpressure of a current touch event received on a touch interface to athreshold pressure; when the individual pressure of the current touchevent is less than the threshold pressure, proceed to a next touch eventof the plurality of touch events as the current touch event if anyremain; and when the individual pressure of the current touch event isgreater than the threshold pressure, accept all remaining touch eventsstarting with the current touch event as part of a combined touch event.11. The apparatus of claim 10, wherein each of the plurality of touchevents comprises a position indicator, a pressure indicator and a timestamp.
 12. The apparatus of claim 11, wherein the pressure indicator ofall of the plurality of touch events is below the pressure threshold.13. The apparatus of claim 11, wherein the at least one processor isfurther configured to store the position indicator, the pressureindicator and the time stamp of each of the plurality of touch eventswhen the pressure indicator of the touch event is below the pressurethreshold.
 14. The apparatus of claim 11, wherein the at least oneprocessor is further configured to calculate the time difference betweeneach of the plurality of touch events based on the time stamp of thetouch events.
 15. The apparatus of claim 11, wherein the at least oneprocessor is further configured to calculate the proximity between eachof the plurality of touch events based on the position indicator of thetouch events.
 16. The apparatus of claim 11, wherein a combined pressureindicator of the combined touch event comprises a sum of the pressureindicators of each touch event of the combined touch event.
 17. Theapparatus of claim 11, wherein a time stamp of the combined touch eventcomprises the time stamp of a latest touch event.
 18. The apparatus ofclaim 10, wherein the at least one processor is further configured toreceive a plurality of touch events from the touch interface.
 19. Acomputer-program for determining a valid touch event on a touchsensitive device, the computer-program embodied on a non-transitorycomputer-readable medium configured to cause at least one processor to:compare an individual pressure of a current touch event received on atouch interface to a threshold pressure; when the individual pressure ofthe current touch event is less than the threshold pressure, proceed toa next touch event of the plurality of touch events as the current touchevent if any remain; and when the individual pressure of the currenttouch event is greater than the threshold pressure, accept all remainingtouch events starting with the current touch event as part of a combinedtouch event.
 20. The computer-program of claim 19, wherein each of theplurality of touch events comprises a position indicator, a pressureindicator and a time stamp.
 21. The computer-program of claim 20,wherein the pressure indicator of all of the plurality of touch eventsis below the pressure threshold.
 22. The computer-program of claim 20,wherein the computer program is further configured to cause the at leastone processor to store the position indicator, the pressure indicatorand the time stamp of each of the plurality of touch events when thepressure indicator of the touch event is below the pressure threshold.23. The computer-program of claim 20, wherein the computer program isfurther configured to cause the at least one processor to calculate thetime difference between each of the plurality of touch events based onthe time stamp of the touch events.
 24. The computer-program of claim20, wherein the computer program is further configured to cause the atleast one processor to calculate the proximity between each of theplurality of touch events based on the position indicator of the touchevents.
 25. The computer-program of claim 20, wherein a combinedpressure indicator of the combined touch event comprises a sum of thepressure indicators of each touch event of the combined touch event. 26.The computer-program of claim 20, wherein a time stamp of the combinedtouch event comprises the time stamp of a latest touch event.
 27. Thecomputer-program of claim 20, wherein the computer program is furtherconfigured to cause the at least one processor to receive a plurality oftouch events from the touch interface.